home *** CD-ROM | disk | FTP | other *** search
Text File | 1999-04-15 | 17.0 KB | 445 lines | [TEXT/ttxt] |
- ***
- *** Universal Serial Bus(tm) (USB) for the Mac OS
- *** Mac OS USB 1.2 DDK Developer Release Notes
- *** Copyright 1998 Apple Computer, Inc.
- ***
-
-
- Table of Contents:
- -------------------------------------------------------------
- Changes from USB v1.0, 1.0.1, 1.1 -> v1.2
- USB Fundamentals
- Keeping up to date on Mac OS USB
- Getting started with Mac OS USB
- Installing the Mac OS USB Software
- Using the Mac OS USB DDK under MPW
- Using the Mac OS USB DDK with MetroWerks CodeWarrior
- Installing the Mac OS USB DDK for CodeWarrior for the First Time
- Updating a Previously Installed Mac OS USB DDK for CodeWarrior
- Using the CodeWarrior Project Files
- Description of Installed Files
- Known Problems and Issues
- Contact Information
- -------------------------------------------------------------
-
- Changes from USB v1.0, 1.0.1, 1.1 -> v1.2
- -------------------------------------------
-
- Refer to the document "Mac OS USB v1.2 Readme" for a description
- of the changes between versions of USB. This DDK provides the Mac OS USB
- v1.2f7 interfaces and libraries which are the final versions. The DDK also
- includes the v1.2f7 System Extension components. The official Mac OS release
- of USB v1.2 will be through an updated version of the Mac OS ROM file.
- There will also be a final release of the Extension based components
- provided to Mac OS USB licensees to include with their USB PCI card
- products.
-
-
- System Requirements for USB 1.2
- ---------------------------------
-
- Apple is formally qualifying USB 1.2 on iMac and Power Macintosh G3 systems
- with built-in USB support (and System 8.5.x installed). For iMac systems,
- USB 1.1 must be present in the Mac OS ROM file in order for the USB v1.2
- system extension files to be recognized.
-
-
- USB Fundamentals
- ----------------
-
- For the current generation of Power Macintosh systems, USB is the
- primary interface for connections to low to medium speed peripheral
- devices. There are numerous advantages for adopting the USB standard on
- Macintosh, and they are discussed in the "Mac OS USB DDK API Reference
- Guide". On the future Macintosh systems there will be no ADB,
- Serial Port, or SCSI connections. USB will be the primary port
- for connecting peripheral devices to the Macintosh.
-
- The DDK provides the tools, interfaces, system files, and module
- examples for you to start development of USB products
- for the Macintosh. The DDK provides the same release of USB
- component software that ships on the introductory release of the
- Power Macintosh iMac system.
-
-
- Keeping up to date on Mac OS USB
- --------------------------------
-
- To stay abreast with developments on Mac OS USB, check out the
- Mac OS USB Developer web site for the latest information. As updates
- to Mac OS USB occur, development releases of the software will be
- made available from this web site. The URL for the web site is:
-
- <http://developer.apple.com/dev/usb>
-
- You can also subscribe to the Mac OS USB Developer
- mailing list where development questions regarding Mac OS USB
- are posed and answered. To submit a question to the mailing list
- you must first be a subscriber. To subscribe to the mailing list,
- send an email with the subject field set to "subscribe usb"
- (omit the double quotes for the message) to requests@isg.apple.com.
-
- Use the following URL to accomplish this.
-
- <mailto:requests@isg.apple.com?SUBJECT=subscribe usb>
-
- USB Alerts to developers are always posted to the mailing list.
- These alerts are also posted to the Mac OS USB Developer Web
- site at the following location.
-
- http://developer.apple.com/dev/usb/devalerts.html
-
-
- Getting started with Mac OS USB
- -------------------------------
-
- To develop with Mac OS USB v1.1, you will need either an iMac or a Power
- Macintosh system with a USB PCI card installed. For the iMac, you must
- have either System Software 8.5 present, or have installed at least the
- iMac Update v1.0.
-
- USB v1.1 will support PCI USB cards from several vendors, however the
- Keyspan card has been extensively tested for compatibility with MacOS
- 8.0, 8.1 & 8.5 and an the complete range of PCI-based Macintosh models.
- This card includes USB v1.1 software on diskette, and Keyspan is prepared
- to technical support to customers.
-
- http://www.keyspan.com/products/USB/
-
- The enclosed software is for developmental purposes and will support USB
- PCI cards from other vendors, but it is not directly supported by Apple,
- nor is it intended for end-users. End-user customers are encouraged to
- purchase a PCI USB card that includes licensed software and support.
-
- You may find that development on a Power Mac system with a USB PCI card
- and serial port, is easier, as you can use the Power Mac Debugger with a
- second Power Macintosh system. A Power Macintosh system with ADB
- keyboard is useful for debugging with Macsbug, since there are cases when
- the system cannot process keystrokes from a USB keyboard.
-
-
- Installing the Mac OS USB Software
- ----------------------------------
-
- Before using the enclosed software on an iMac or 1999 Power Macintosh G3,
- you must already have the Mac OS USB v1.1 present. If the Mac OS ROM file
- includes this release of USB, do not install the system extension
- components from this DDK to the Extensions Folder.
-
- To install the USB System Software components,
- 1. remove all files with the following names from your Extensions Folder,
-
- USB Support,
- USB Device Extension,
- USBCompositeDriver,
- USBFamilyExpert,
- USBHIDKeyboardModule,
- USBHIDMouseModule,
- USBHIDUniversalModule,
- USBHubDriver0,
- USBHubDriver1, and
- USBOpenHCIDriver
- USBPrintDriver
- USBCommClass
- SerialShimLib
-
- 2. drag copy the contents of the folder
-
- :USBDDK:Extensions-AppleBuilt:
-
- to the Extensions folder.
-
- 3. Before you reboot, modify the file "USB Support" to include
- a new resource 'usbx' (Resource ID = 1984). Without this resource, this release of
- USB will not load. The following alert is raised to indicate that the
- resource is not present.
-
-
-
-
-
-
-
-
-
-
-
-
-
- 4. Reboot your system after making this modification.
-
-
- Important Notes on Installation and Use of this DDK software
- ------------------------------------------------------------
-
- This DDK will let you look at the sources to some working class
- drivers, build the examples, and develop & build your own code.
-
- Please remember that these driver samples are Copyright Apple
- Computer, Inc.. You may use the supplied code to develop Class
- Drivers for your devices. As for publishing the source code, please
- check first with the Mac OS USB DDK License agreement, included
- in this DDK.
-
- The current driver samples may, reflect the latest
- state of the art of driver writing for USB in the Mac OS. Note that
- the PrinterClassModule sample is for example
- purpose only. This sample is the basis for real
- drivers under development, however we are unable to provide
- the actual class driver code. The remaining examples are the
- real code for the Keyboard HID, Mouse HID, Universal HID, and
- Composite class drivers which will ship on the iMac
-
- While not extensively tested (by the development team),
- the sample sources have been tweaked slightly to make builds
- under CodeWarrior some what less problematic. The project files
- are provided to help jumpstart your development process.
-
-
- Using the Mac OS USB DDK under MPW
- ----------------------------------
-
- For previous releases of the USB DDK, we provided a current
- UserStartup•USBDDK and makefiles for each of the sample class
- drivers. As there are very few developers who program
- with the MPW environment and to expidite the release of this
- DDK, we will no provide make files for the class driver samples,
- nor UserStartup files for MPW.
-
- If MPW is your primary development platform and you need
- a make file for one of the example class drivers, submit a
- request to the Mac OS USB mailing list and a sample make file, if
- available for the example, will be sent to you. See the section
- "Keeping up to date on Mac OS USB" above for information on
- how to subscribe to the Mac OS USB Developer mailing list.
-
-
- Using the Mac OS USB DDK with MetroWerks CodeWarrior
- ---------------------------------------------------
-
- We have supplied MetroWerks CodeWarrior project files for
- all of the USB Modules code examples. All of the project
- files were created using CodeWarrior Pro 1, IDE 2.0. The
- project files are also compatible with CodeWarrior Pro IDE
- 2.1, 3.0 and later.
-
- For the CodeWarrior IDE environments v2.0 - v3.0, you must use
- the Universal Interface & Libraries v3.1. The examples will
- not build using the interfaces supplied with the CodeWarrior
- v.2 - v3.0 environments. The URL for the Developer Development
- Kits web page is
-
- <http://developer.apple.com/sdk/>
-
- As mentioned for MPW, it is highly recommend that you use
- one Macintosh for coding purposes and one Mac (aka "Target"
- system) for checkout/testing purposes.
-
- The supplied project files will place the built drivers
- and extensions into the Target folder of the DDK.
-
-
- Installing the Mac OS USB DDK for CodeWarrior for the First Time
- -----------------------------------------------------------
-
- 1. You can place the USBDDK anywhere on your development
- system for the CodeWarrior environment. The access paths
- for the project files are project and compiler relative.
- If you move the examples folders out of the DDK, you must
- fix the access paths so that the sources can be found.
-
- 2. Ensure that the CodeWarrior IDE environment has at least the
- Universal Interfaces and Libraries 3.1 installed. The
- download file from the DDK website includes instructions
- for upgrading your CodeWarrior environment. Note that if
- you upgrade your interfaces, you will also need to
- upgrade your precompiled headers. The supplied CodeWarrior
- project files do not use precompiled headers.
-
- 3. Copy the USB.h file included in this SDK to the
- ":Mac OS Support:Headers:Universal Headers:" folder.
-
- 4. You will find that the project files will place the built drivers
- and extensions into the folder.
-
- "USBDDK:Extensions-MCWBuilt"
-
- If this folder does not exist, or the folder name is different,
- the class driver samples will be created in the CodeWarrior folder.
-
- Updating a Previously Installed Mac OS USB DDK for CodeWarrior
- -------------------------------------------------------------
-
- 1. Copy the USB.h file included in this SDK to the
- ":Mac OS Support:Headers:Universal Headers:" folder. Do not
- use the USB.h header file from an earlier USB DDK with the
- supplied project files, as the examples may not build.
-
- 2. If you experience compiler errors with the program samples,
- check whether you have updated the USB.h header in the
- ":Mac OS Support:Headers:Universal Headers:" folder.
-
- 3. You will need to create a folder by the name
-
- "USBDDK:Extensions-MCWBuilt"
-
- If this folder does not exist, or the folder name is different,
- the class driver samples will be created in the CodeWarrior folder.
-
- Using the CodeWarrior Project Files
- ---------------------------------
-
- For the following samples, there is only a single target for
- each project:
-
- CompositeClassDriver
- KeyboardModule
- MouseModule
- UniversalModule
- USBKeypad
- USBModem
- USBTabletModule
-
- For the PrinterClassDriver example, compile the targets in
- the following order
-
- 1. PrinterClassDRVR - creates the 68K DRVR resource
- 2. PrintClassDriver - creates the USB PrintClassDriver module
- 3. ChooserPack.rsrc - creates the "PACK" resource
- 4. USB Chooser Driver - creates the Chooser extension for the
- USB printer
-
- For the USBSampleStorageDriver example, compile the targets in
- the following order
-
- 1. USBStorageClassDriver - creates the USB StorageClassDriver module
- 2. USBStorageClassShim - creates the shim module which loads the unit
- table driver when the device is attached
- USBStorageClassUTDriver - auto built into shim - native driver
- compiled as a resource into shim file.
-
- Description of Installed Files
- --------------------------
- Files in the 'Extensions-AppleBuilt' folder:
- Files: Description:
- USB Device Extension File which contains the following class drivers
- USBCompositeDriver - A class driver which is loaded for class 0
- & and subclass 0 devices (typically keyboards & mice,
- although a few printers & modems appear as composite
- class devices).
- USBHubDriver0 & USBHubDriver1 - The Hub driver for the root hub,
- the Apple USB keyboard's hub, and most 3rd party hubs.
- USBKeyboardModule - The HID Module loaded for a keyboard
- interface (typically in a compound device)
- USBMouseModule - A HID Module loaded for a mouse interface
- (typically in a compound device).
- USBHIDUniversalModule - A HID Module designed to support a
- number of 3rd party gaming devices via Game Sprockets.
- Refer to the "Mac OS USB Compatibility Notes" for a
- description of the game devices supported.
- USBOpenHCIDriver - The HAL (Hardware Abstraction Layer), also
- known as the "UIM" (USB Interface Module). This driver
- provides an abstracted interface to the OpenHCI host
- controllers on Mac motherboards and PCI controller cards.
-
- USB Support The INIT (actually an 'expt') portion of the Family
- Expert. Loaded prior to the INIT parade, it starts
- the 'find a USB bus (i.e. UIM driver), loads the
- hub driver (for the root hub), and starts
- the hub driver running. Once running, the
- hub driver locates devices attached to the
- port and asks the FamilyExpertLib to load
- drivers for the devices connected to the
- hub's ports.
-
- USBPrintDriver A Printing Class Driver for experimentation
- purposes. Printing WILL NOT be functional
- simply with the addition of this file. The
- chooser extension needed for USB printing
- is still in development and has not yet
- been released.
-
-
- Known Issues
- ------------
-
- The following is a list of known issues with this final release
- of the USB DDK.
-
- - If you install this release of USB 1.2f7 directly without adding
- the 'usbx' (ID = 1984) resource, then USB will not load and an
- alert message is displayed
-
- Refer to the instructions above in section "Installing the Mac
- OS USB Software" on how to modify the "USB Support" file so that
- it will function correctly.
-
- - The USBSampleStorageDriver does not correctly demonstrate how to
- handle a hot unplug situation. This sample will be updated to
- demonstrate how this situation should be properly handled. The
- existing sample sets up a Timer Task which when fired makes a
- call to SystemTask. The call to SystemTask is not supported
- from an interrupt context.
-
- Contact Information
- -------------------
-
- Mac OS USB DDK Upgrades and latest information:
-
- Check the Developer Development Kits web page for
- upgrades to the Mac OS USB DDK. The web page is
-
- <http://developer.apple.com/sdk/>
-
- For the latest information on Mac OS USB, check the Mac OS USB web page.
- The web page is
-
- <http://usb.apple.com>
-
- For Bug Reports:
-
- To ensure the appropriate data is collected, please use the Bug Reporter
- to send us your bug reports. The Bug Reporter can be found at:
-
- <http://developer.apple.com/bugreporter>
-
- When reporting problems, please include the machine configuration,
- including the vendor of the PCI USB card which you have tested with.
-
- For Technical Questions:
-
- For generic Mac OS USB questions, submit them to the Mac OS USB
- Developer mailing list. Refer to the section above "Keeping up to date
- on Mac OS USB" for information on how to subscribe to this mailing list.
- Often questions can be answered by someone on the mailing list.
-
-
- If your question is not answered on the mailing list, or if your question
- is proprietary, contact Worldwide Developer with purchased development-level
- technical support incidents at
-
- dts@apple.com
-
- Technical support incidents are bundled in our Premier and Select
- Developer programs. For information about joining our programs,
- please visit our Apple Developer Connection web site at
-
- http://developer.apple.com/programs.
-
- If you have never purchased a technical support incident and would like
- to find out how to do so, please visit the following site:
-
- http://developer.apple.com/programs/techsupport.html .
-
-
- Comments, Suggestions and Enhancement Requests
-
- Please send all comments and suggestions regarding the Mac OS USB DDK to
-
- usb@apple.com
-
- All email sent to this address will be read, however, we will not be to
- respond to all of your comments and suggestions.
-
-
-